//auto gen by paipai.java.augogen ver 1.0
//author skyzhuang
#ifndef _GISMANAGEAO_GIS_H_
#define _GISMANAGEAO_GIS_H_

#include <stdint.h>
#include <string>
#include <iostream>
#include "app_platform/help_macros.h"
#include "app_platform/intf_service.h"
#include "intf_gismanageao.h"

#include "library/basic/singleton_t.h"
#include "library/basic/sync_lock.h"
#include "c2cent/library/log/CWTimeElf3.h"


HEADER_SELF_DEFINE_START
/**
*  请在这里增加自定义包含的头文件，否则无法合并代码
**/

HEADER_SELF_DEFINE_END

namespace erp
{
namespace gis
{
namespace ao
{

SERVICE class CGisManageAo : public IGisManageAo{
public:
		CGisManageAo(enum DeployMethod method = DEPLOY_STANDALONE);
		~CGisManageAo();
		 void Reset();
		static int Initialize(IUserDefineCntl* pCntl = NULL);

public:
	 /**
	 *
	 *   同步配送区域轨迹记录 
	 *
	 */
	EXPORT(0xc0231001) uint32_t ShipTypeAreaLocusRowSync(
		 const CCntlInfo& rCntlInfo,
		 const std::string& strMachineKey,
		 const std::string& strSource,
		 uint32_t dwSceneId,
		 const erp::gis::po::CShipTypeAreaLocusPo& oShipTypeAreaLocusPo,
		 const std::string& strInReserve,
		 std::string& strErrMsg,
		 std::string& strOutReserve
		);

SECTION_SELF_DEFINE_START
/**
*  请在这里增加自定义的成员变量和函数，否则无法合并代码
**/

private:
    uint32_t _CheckCommParameter(
		 const CCntlInfo& rCntlInfo,
		 const std::string& strMachineKey,
		 const std::string& strSource,
		 uint32_t dwSceneId
         );

uint32_t _ValidateShipTypeAreaLocusPo(const erp::gis::po::CShipTypeAreaLocusPo& oShipTypeAreaLocusPo);

SECTION_SELF_DEFINE_END

private:
	static c2cent::library::wtimeelf::CItilGroup m_oShipTypeAreaLocusRowSync;
	enum DeployMethod m_method;
};

}
}
}

#endif /* _GISMANAGEAO_GIS_H_ */
